import Util from '@/libs/util';
import API from '@/api/index';
const config = {
    state: {
    	configure: {},		// 系统配置
        currency: '￥',		// 货币单位，默认为人民币单位
        currencyLists: [],	// 货币列表
        timeZoneLists: [],	// 时区列表
    },
    mutations: {
    	// 设置系统配置
    	setSystemConfig(state, config) {
    		let params = {};
    		if(Array.isArray(config)) {
    			config.forEach(item => {
    				params[item.key] = item.value;
    			})
    		}else{
    			params = config;
    		}
    		state.configure = params;
    	},
    	// 设置货币单位
    	setCurrency(state, value) {
    		state.currency = value;
    	},
    	// 设置货币列表
    	setCurrencyLists(state, list) {
    		state.currencyLists = list;
    	},
    	// 设置时区列表
    	setTimeZoneLists(state, list) {
    		state.timeZoneLists = list;
    	}
    },
    // 接受dispatch传递过来的方法和参数
    actions: {
    	// 获取系统配置详情
    	getSystemConfig(context) {
    		Util.ajax.post(API['API_SETTING_DETAIL'], {}).then(res => {
				context.commit('setSystemConfig', res);
			}).catch(() => {
				
			})
    	},
    	// 获取货币列表数据
    	getCurrencyListsData(context) {
    		if(context.state.currencyLists.length > 0) return false;
    		Util.ajax.post(API['API_SETTING_CURRENCIES'], {}).then((res) => {
    			context.commit('setCurrencyLists', res);
    		}).catch(() => {
    			
    		})
    	},
    	// 获取时区列表数据
    	getTimeZoneListsData(context) {
    		if(context.state.timeZoneLists.length > 0) return false;
    		Util.ajax.post(API['API_SETTING_TIMEZONES'], {}).then((res) => {
    			context.commit('setTimeZoneLists', res);
    		}).catch(() => {
    			
    		})
    	}
    }
};

export default config;
